Product Requirements Document (PRD)
Shrimp Farming Management Platform
| Document Info | |
|---|---|
| Version | 1.3 |
| Status | Draft — Product Baseline + Current Implementation Alignment |
| Created Date | 2026-05-12 |
| Last Updated | 2026-09-16 |
| Release Coverage | Release 1 → Release 3 |
| Roadmap Coverage | Sprint 1 → Sprint 8* |
| Latest Planned Release | Release 3 — AI Enabled Platform |
| Release 3 Date | 2026-10-16 |
| UAT & Feedback | 2026-10-19 → 2026-10-23 |
| Code Alignment Snapshot | 2026-09-16 repository review |
Roadmap note: Source roadmap does not contain an explicit Sprint 6 entry. This PRD does not invent Sprint 6 scope.
Implementation note: Requirement wording uses status labels to distinguish current code behavior from planned roadmap scope. Items marked Planned or Partial remain in the PRD but must not be treated as already delivered.
Table of Contents
- Executive Summary
- Product Overview
- User Personas
- Product Functions
- Functional Requirements
- Non-Functional Requirements
- Success Metrics
- Yêu cầu AI riêng / AI-Specific Requirements
- Risks and Dependencies
- Appendix A — Product Roadmap
- Appendix B — Open Questions
- Appendix C — Glossary
- Appendix D — Requirement Traceability
- Appendix E — Document History
1. Executive Summary
1.1 Product Vision
The Shrimp Farming Management Platform is designed to provide a centralized platform for managing shrimp farming operations across farms, ponds, crops, environmental monitoring, feeding, incidents, IoT devices, reporting, operational knowledge, and AI-assisted decision support.
The platform evolves through three major product stages:
Release 1 — Core Platform
Establish the operational foundation for:
- authentication and user management;
- farm, pond and crop management;
- water monitoring;
- alert management;
- feeding records;
- farming logs;
- reports;
- incident/ticket management.
Release 2 — IoT Integrated Platform
Extend the Core Platform with:
- IoT device management;
- sensor/device assignment;
- device monitoring;
- manual and automatic device control;
- device control history;
- sensor status and sensor history.
Release 3 — AI Enabled Platform
Extend operational data and IoT capabilities with:
- AI feeding suggestions;
- Farming Handbook;
- contextual AI Chatbot;
- preliminary image analysis;
- alerts/recommendations;
- growth assessment;
- phased energy optimization;
- configurable operational rules;
- configurable AI knowledge/data sources/safety policies;
- scheduled reporting.
The product direction can therefore be summarized as:
Manage
↓
Monitor
↓
Alert
↓
Operate
↓
Automate
↓
Recommend
↓
Assist
1.2 Problem Statement
Shrimp farming operations involve multiple types of information that must be managed together:
- users and operational responsibilities;
- farms, ponds and crops;
- water-quality measurements;
- feeding records;
- farming logs;
- minerals and siphon records;
- sensor and equipment status;
- device operation;
- alerts and incidents;
- technical-support tickets;
- historical reports;
- farming knowledge.
Without a centralized system, these activities can become fragmented and difficult to trace.
The platform addresses this by providing a common operational data model and workflow, then progressively adding IoT integration and AI capabilities on top of that operational foundation.
1.3 Product Goals
| Goal | Description |
|---|---|
| Centralized Farm Operations | Manage farms, ponds, crops, feeding, logs, alerts, tickets and devices from a unified platform |
| Operational Visibility | Give users visibility into pond conditions, farming status, alerts, sensor data and equipment state |
| Traceability | Maintain histories for feeding, farming logs, device operations, tickets and critical administration actions |
| Timely Alerting | Detect abnormal water values and sensor/device issues and surface them to users |
| Operational Control | Allow authorized users to manage and control IoT devices |
| Reporting | Provide operational reports and Excel export capabilities |
| Technical Support | Provide incident/ticket workflows with KTV assignment and SLA tracking |
| Decision Support | Use farming and environmental data to provide feeding suggestions |
| Knowledge Access | Provide a structured Farming Handbook relevant to farming conditions and alerts |
| Context-Aware AI | Provide an AI Chatbot using authorized pond context |
| Configurable Platform | Allow Admin to manage thresholds, automation rules, master data, SLA and AI configuration |
| Access Control | Ensure users can access only farms, ponds, tickets and AI context permitted by their roles/scopes |
2. Product Overview
2.1 Product Scope
The product scope includes the following major capability groups:
| Product Area | Description |
|---|---|
| Authentication & User Management | Authentication, account administration, role and operational scope management |
| Farm / Pond / Crop Management | Farm structure and farming-cycle management |
| Water Monitoring Dashboard | Water-quality monitoring, sensor information and trend visualization |
| Alert Management | Environmental and equipment alerts with lifecycle management |
| Feeding Management | Feeding records, feeding response and historical feeding information |
| Productivity & Farming Logs | Manual environmental, mineral and siphon operational logs |
| Reports & Excel Export | Operational reports, Excel export and scheduled reporting |
| Incident / Ticket Management | Technical issue reporting, KTV assignment, progress and SLA |
| IoT Device Control | Device configuration, control, automation and history |
| AI Feeding Suggestion | Data-driven daily and per-meal feeding recommendations |
| AI Chatbot | Pond-context-aware AI assistant |
| AI image analysis | Allow us submit photos of shrimp, water, feeding trays, pond bottom, or equipment to receive a preliminary assessment and suggestions for further inspection. |
| AI assesses growth/productivity | Analyze the farming history, feed, environment, and productivity to assess whether the shrimp are growing well |
| AI alerts and recommends action | Detect anomalies and suggest solutions for each pond/situation; this can begin with a rule-based approach |
| AI optimizes energy | Analyze device runtime and environmental conditions to suggest on/off schedules for energy savings |
| System Configuration | Administrative configuration for business rules and AI behavior |
2.2 Product Delivery Stages
Release 1 — Core Platform
Release 1 establishes the fundamental operational workflows:
Users
│
Farm / Pond / Crop
│
├── Water Monitoring
├── Alerts
├── Feeding
├── Farming Logs
├── Reports
└── Tickets
Release 2 — IoT Integrated Platform
Release 2 adds physical device and sensor integration:
Core Platform
│
├── Sensors
├── IoT Devices
├── Device State
├── Manual Control
├── Automatic Rules
└── Device History
Release 3 — AI Enabled Platform
Release 3 adds intelligent assistance:
Farm + Pond + Crop
│
Environmental Data
│
Feeding Data
│
Alerts + Handbook
│
├───────────────┐
▼ ▼
AI Feeding AI Chatbot
Suggestion │
├── Confidence
├── References
└── Ticket / KTV Escalation
2.3 Target Users
Admin
Primary responsibilities
- Manage user accounts and roles.
- Assign operational access scope.
- Manage farms/ponds where permitted.
- Manage configuration.
- Manage Farming Handbook.
- Assign/reassign Technical Staff.
- Manage reporting.
- Calib/monitor devices.
- Configure chatbot knowledge and policies.
Primary modules
Authentication & User Management, Farm Management, Tickets, Logs, Reports, System Configuration.
Farm Owner / Chủ hộ
Primary responsibilities
- Monitor farm and pond operations.
- Review environmental status.
- Review feeding information.
- View alerts and reports.
- Use AI features where authorized.
- Schedule weekly reports.
Primary modules
Dashboard, Feeding, Alerts, Reports, Logs, AI Suggestion, AI Chatbot, AI assesses productivity, AI recommends action, AI optimizes energy.
Technical Staff
Primary responsibilities
- Be assigned to ponds where applicable.
- Receive technical tickets.
- Accept and process incidents.
- Update ticket progress.
- Close resolved tickets.
- Calib/monitor devices.
- Receive escalation/email notifications.
Primary modules
Farm/Pond assignment, Incident/Ticket Management, Alerts.
Authorized Farm Operator / Support Staff
Primary responsibilities
- Access assigned farm/pond scope.
- Enter operational data.
- Record feeding.
- View dashboards and alerts.
- Control permitted devices.
- Create technical tickets.
- Use AI Chatbot within authorization scope.
3. User Personas
3.1 System Administrator (Admin)
Profile
User responsible for managing the overall platform configuration and user access.
Goals
- Maintain account and role information.
- Control access to farms, ponds and tickets.
- Maintain system configuration.
- Ensure operational master data remains usable.
- Configure ticket/alert SLA and notification behavior.
- Maintain chatbot knowledge and data-source configuration.
Pain Points Addressed
- Uncontrolled access to operational information.
- Manual configuration changes.
- Difficulty tracing role/permission changes.
- Fragmented business configuration.
3.2 Farm Owner
Profile
User responsible for one or more farms and their operational performance.
Goals
- Understand pond status quickly.
- Identify environmental abnormalities.
- Track feed usage and farming productivity.
- Monitor alerts and incidents.
- Receive regular reports.
- Use AI assistance for farming decisions.
Pain Points Addressed
- Fragmented farm information.
- Lack of consolidated historical data.
- Difficulty comparing environmental data and farming activities.
- Slow access to relevant operational knowledge.
3.3 Support Staff
Profile
User performing day-to-day pond operations.
Goals
- Enter accurate operational records.
- Record feeding activities.
- Review pond conditions.
- Respond to alerts.
- Control permitted equipment.
- Report technical problems.
3.4 Technical Staff
Profile
Technical staff responsible for pond or equipment support.
Goals
- Know which ponds are assigned.
- Receive technical incidents.
- Understand the problem context.
- Track response and processing times.
- Update resolution progress.
4. Product Functions
4.1 Authentication & User Management
| Feature ID | Feature Name |
|---|---|
| F1.1.1 | Login |
| F1.1.2 | Logout |
| F1.1.3 | Forgot/Reset Password |
| F1.1.4 | User Account Management |
| F1.1.5 | Role Assignment |
| F1.1.6 | Farm/Pond/Ticket Scope Assignment |
| F1.1.7 | Technician Creation/Assignment |
| F1.1.8 | Session Timeout |
| F1.1.9 | User & Permission Audit Log |
4.2 Farm / Pond / Crop Management
| Feature ID | Feature Name |
|---|---|
| F2.1.1 | Create/View/Edit/Close Farm |
| F2.1.2 | Create/View/Edit Pond |
| F2.1.3 | Create/View/Edit Crop by Pond |
| F2.1.4 | Closed Crop Data Protection |
| F2.1.5 | Assign Technician to Pond |
| F2.1.6 | Pond Overview List |
4.3 Water Monitoring Dashboard
| Feature ID | Feature Name |
|---|---|
| F3.1.1 | Farm Overview |
| F3.1.2 | Pond Environmental Dashboard |
| F3.1.3 | Environmental Time-Series Charts |
| F3.1.4 | Safe Threshold Visualization |
| F3.1.5 | Farming Context on Dashboard |
| F3.1.6 | Sensor Status |
| F3.1.7 | Sensor Record History |
4.4 Alert Management
| Feature ID | Feature Name |
|---|---|
| F4.1.1 | Water Threshold Alerts |
| F4.1.2 | Sensor/Device Connectivity Alerts |
| F4.1.3 | Alert Search & Filters |
| F4.1.4 | Alert Lifecycle Management |
4.5 Feeding Management
| Feature ID | Feature Name |
|---|---|
| F5.1.1 | Feeding Entry |
| F5.1.2 | Feeding Reaction |
| F5.1.3 | Feeding History |
| F5.1.4 | Actual vs Suggested Feed |
| F5.1.5 | AI Daily Feeding Suggestion |
| F5.1.6 | AI Feeding Suggestion by Meal |
| F5.1.7 | Feeding Environmental Warning |
| F5.1.8 | PCR/FCR Calculation |
4.6 Productivity & Farming Logs
| Feature ID | Feature Name |
|---|---|
| F6.1.1 | Manual Environmental Entry |
| F6.1.2 | Mineral Entry |
| F6.1.3 | Siphon Entry |
| F6.1.4 | Farming Operation Log |
| F6.1.5 | Same-Day Record Editing |
| F6.1.6 | Pond Productivity Summary |
4.7 Reports & Excel Export
| Feature ID | Feature Name |
|---|---|
| F7.1.1 | Water Monitoring Report |
| F7.1.2 | Device Report |
| F7.1.3 | Feeding Report |
| F7.1.4 | Manual Environment/Mineral/Siphon Report |
| F7.1.5 | Incident/Ticket Report |
| F7.1.6 | Excel Export |
| F7.1.7 | Scheduled Weekly Email Report |
4.8 Incident / Ticket Management
| Feature ID | Feature Name |
|---|---|
| F8.1.1 | Create Ticket |
| F8.1.2 | Image/Video Attachment |
| F8.1.3 | Ticket List & Filters |
| F8.1.4 | KTV Assignment/Reassignment |
| F8.1.5 | Ticket Progress |
| F8.1.6 | Ticket Closure |
| F8.1.7 | SLA Tracking |
| F8.1.8 | Technical Email Notification |
4.9 IoT Device Control
| Feature ID | Feature Name |
|---|---|
| F9.1.1 | IoT Device Management |
| F9.1.2 | Sensor/Device Assignment to Pond |
| F9.1.3 | Pond Device List |
| F9.1.4 | Device Control History |
| F9.1.5 | Automatic Device Rules |
| F9.1.6 | Device Command Failure Alert |
| F9.1.7 | Manual/Auto Mode |
| F9.1.8 | Web/Mobile Device Control |
4.10 AI Chatbot
| Feature ID | Feature Name |
|---|---|
| F10.1.1 | Web & Mobile Chatbot |
| F10.1.2 | Text Q&A |
| F10.1.3 | Pond Selection |
| F10.1.4 | Image Input |
| F10.1.5 | Automatic Pond Context |
| F10.1.6 | Confidence Display |
| F10.1.7 | Reference Sources |
| F10.1.8 | Ticket/KTV Escalation |
| F10.1.9 | Conversation History |
| F10.1.10 | Helpful/Not Helpful Feedback |
| F10.1.11 | Pond Authorization Enforcement |
4.11 AI Image Analysis
| Feature ID | Feature Name |
|---|---|
| F11.1.1 | Image Upload |
| F11.1.2 | Image Type Selection |
| F11.1.3 | Image Analysis |
| F11.1.4 | Preliminary Assessment |
| F11.1.5 | Recommended Next Steps |
| F11.1.6 | Confidence & Reference |
| F11.1.7 | Analysis History |
| F11.1.8 | Technician Escalation |
4.12 AI Growth & Productivity Assessment
| Feature ID | Feature Name |
|---|---|
| F12.1.1 | Data Aggregation |
| F12.1.2 | Growth Performance Analysis |
| F12.1.3 | Growth Status Assessment |
| F12.1.4 | Productivity Analysis |
| F12.1.5 | Growth Trend & Anomaly Detection |
| F12.1.6 | AI Recommendation |
| F12.1.7 | Historical Comparison |
| F12.1.8 | Assessment History |
4.13 AI Energy Optimization
| Feature ID | Feature Name |
|---|---|
| F13.1.1 | Device Runtime Analysis |
| F13.1.2 | Environmental Condition Analysis |
| F13.1.3 | Energy Usage Analysis |
| F13.1.4 | Operation Schedule Recommendation |
| F13.1.5 | Device Operation Optimization |
| F13.1.6 | Recommendation Explanation |
| F13.1.7 | Optimization History |
| F13.1.8 | Manual Review & Adjustment |
4.14 System Configuration
| Feature ID | Feature Name |
|---|---|
| F14.1.1 | Alert Threshold Configuration |
| F14.1.2 | Device Automation Rule Configuration |
| F14.1.3 | Feed/Mineral/Device Master Data |
| F14.1.4 | Ticket/Alert Type Configuration |
| F14.1.5 | Email Template & Recipient Configuration |
| F14.1.6 | Ticket/Alert SLA Configuration |
| F14.1.7 | SaaS Plan & Account Limits |
| F14.1.8 | Chatbot Knowledge Configuration |
| F14.1.9 | Chatbot Data Source Configuration |
| F14.1.10 | Chatbot Safety Policy Configuration |
4.14 Current Implementation Status Summary
Status legend:
- Implemented: backend and/or product surface exists in the current codebase.
- Partial: core code exists, but coverage, UI, authorization or automation is incomplete.
- Planned: requirement remains in product scope but is not implemented in the current codebase.
| Product Area | Current Status | Current Code Alignment |
|---|---|---|
| Authentication & User Management | Partial | Login, logout, refresh, forgot/reset password, profile, sessions, user CRUD, KTV creation, farm/pond scope assignment and audit-log APIs exist. Some role/scope guards are temporarily bypassed in selected admin/domain use cases. |
| Farm / Pond / Crop Management | Partial | Farm, pond and crop CRUD, dashboard data, pond assignment and crop close/override APIs exist. Close/delete semantics and closed-crop permission enforcement need final authorization hardening. |
| Water Monitoring Dashboard | Partial | Backend dashboard, pond time-series, sensor chart and threshold visualization data exist. Standalone web Water Monitoring route is still a placeholder; pond detail tabs and owner dashboard cover part of the experience. |
| Alert Management | Partial | Alert APIs, lifecycle actions, filters, offline sensor/device detection and escalation jobs exist. Standalone web Alerts route is still a placeholder; transition permission rules remain TBD. |
| Feeding Management | Partial | Feeding records, feed types, response, history and override reason fields exist. AI feeding suggestion and PCR/FCR calculation endpoints currently return unavailable/TBD responses. |
| Productivity & Farming Logs | Partial | Backend and mobile support manual water, minerals, siphon, productivity and attachments. Standalone web Farming Logs route is still a placeholder; end-of-day finalization remains TBD. |
| Reports & Excel Export | Partial | Water, device, feeding, manual environment, recent report and Excel export APIs/pages exist. Scheduled weekly email reports are not implemented. |
| Incident / Ticket Management | Implemented | Ticket create/list/detail/assign/acknowledge/start/close, comments, attachment upload/download and mobile problem creation exist. SLA target values and final timing rules remain configurable/TBD. |
| IoT Device Control | Partial | Device CRUD, command history, MQTT command publish/ACK, local IoT-output control, manual/auto mode, automation rules and command-timeout marking exist. Automatic alert creation for command non-response is not yet complete. |
| Farming Handbook | Partial | Backend article library, search/filter, bookmark, alert-related lookup, admin workflow, archive/restore and versioning exist. Dedicated web/mobile handbook UI is not implemented. AI-reference retention is planned because chatbot references do not yet exist. |
| AI Chatbot | Planned | Mobile has a placeholder tab/screen only. No backend chatbot conversation, pond-context assembly, image analysis, confidence, references, history or feedback APIs exist in the current codebase. |
| System Configuration | Partial | Thresholds, automation rules, notification configuration and incident-response settings exist. Master-data, SaaS plan and AI/chatbot configuration remain planned or incomplete. |
5. Functional Requirements
5.1 Authentication & User Management
FR-AU-001 — Login
The system shall allow a valid user to authenticate and access the platform according to the user's assigned role and scope.
FR-AU-002 — Logout
The system shall allow authenticated users to terminate their active session.
FR-AU-003 — Forgot / Reset Password
The system shall provide a password recovery and reset process.
Detailed token lifetime and password policy are currently TBD.
FR-AU-004 — User Administration
Authorized administrators shall be able to:
- create user accounts;
- edit user accounts;
- disable user accounts;
- assign roles.
FR-AU-005 — Operational Scope
The system shall support assignment of user access by role to applicable:
- farms;
- ponds;
- tickets.
A user shall not implicitly gain access outside assigned scope.
Current implementation status: Partial. Scope data is present in authentication/session context and applied in several dashboard, pond and ticket queries. Some domain/admin authorization checks are temporarily bypassed in code and must be hardened before this requirement can be considered fully implemented.
FR-AU-006 — KTV Administration
The system shall support creation and/or assignment of KTV users according to administrative permissions.
FR-AU-007 — Session Timeout
The system shall automatically expire inactive sessions according to configured session timeout behavior.
Exact timeout duration is TBD.
FR-AU-008 — User Management Audit
The system shall record audit logs for:
- user-management actions;
- permission/role changes.
Minimum audit fields and retention duration are TBD.
5.2 Farm / Pond / Crop Management
FR-FP-001 — Farm Management
Authorized users shall be able to:
- create a farm;
- view a farm;
- edit a farm;
- close a farm.
Current implementation status: Partial. Farm create/view/edit, status update and delete/soft-delete flows exist. The product term “close farm” maps to farm status closure where supported; final UX wording and authorization rules should be aligned with the implemented status/delete behavior.
FR-FP-002 — Pond Management
Authorized users shall be able to create, view and edit ponds belonging to a farm.
FR-FP-003 — Crop Management
The system shall allow authorized users to create, view and edit farming crops/cycles for individual ponds.
FR-FP-004 — Closed Crop Protection
Once a crop is closed, operational crop data shall not be editable except by users with explicitly authorized special permission.
Current implementation status: Partial. Crop close and override APIs exist, but several crop permission checks are temporarily bypassed in code. This requirement remains open until closed-crop edit restrictions are enforced end-to-end.
FR-FP-005 — Pond KTV Assignment
Authorized users shall be able to assign a KTV to one or multiple ponds.
FR-FP-006 — Pond Overview
The system shall provide a pond list showing overall operational context including:
- farming day;
- alerts;
- sensor status;
- device status.
5.3 Water Monitoring Dashboard
FR-WM-001 — Farm Overview
The system shall display farm overview information containing the farm's ponds and their alert status.
Current implementation status: Partial. Backend farm/owner dashboard data and owner web dashboard exist. The dedicated web Water Monitoring route is still a placeholder.
FR-WM-002 — Pond Environmental Dashboard
The pond dashboard shall display six monitored indicators:
- pH;
- DO;
- salinity;
- algae/ORP;
- alkalinity;
- temperature.
The source groups “tảo/ORP” as one dashboard item; final domain definition is TBD if these represent separate measurement types.
FR-WM-003 — Historical Chart
The system shall provide time-series visualization for monitored indicators.
Users shall be able to filter by:
- 24 hours;
- 7 days;
- 30 days;
- custom period.
FR-WM-004 — Safe Threshold Visualization
The system shall display configured safe thresholds and visually identify times when measurements exceed allowed thresholds.
FR-WM-005 — Farming Context
The pond dashboard shall display:
- farming day;
- pond area;
- density;
- shrimp size.
FR-WM-006 — Sensor Status
The system shall display sensor status as:
- online;
- offline;
- error.
FR-WM-007 — Sensor History
Authorized users shall be able to view historical sensor readings.
5.4 Alert Management
FR-AL-001 — Environmental Alert
The system shall create an alert when a water-quality indicator exceeds its configured threshold.
FR-AL-002 — Sensor / Device Alert
The system shall create an alert when a sensor or device:
- loses connection; or
- reports an error.
FR-AL-003 — Alert Filters
The system shall provide alert filtering by:
- type;
- severity;
- pond;
- farm;
- status;
- time.
Current implementation status: Partial. Backend alert filters exist and pond warning tabs consume alert data. The standalone web Alerts page is not implemented yet.
FR-AL-004 — Alert Lifecycle
The alert workflow shall support:
New
↓
Acknowledged
↓
In Progress
↓
Closed
Exact transition permission rules are TBD.
5.5 Feeding Management
FR-FD-001 — Feeding Entry
The system shall allow feeding data to be entered for each feeding session, including:
- feed type;
- amount;
- time;
- person entering the record;
- notes.
FR-FD-002 — Feeding Response
The system shall allow feeding response to be recorded, including:
- strong feeding;
- weak feeding;
- feed remaining.
FR-FD-003 — Feeding History
The system shall provide feeding history by:
- day;
- week;
- farming crop/cycle.
FR-FD-004 — Actual Feed Override
Where a suggested amount exists, users shall be able to record an actual feeding amount different from the suggestion.
The system shall support storing the reason when required.
The rule defining when a reason is mandatory is TBD.
FR-FD-005 — Daily AI Feeding Suggestion
The system shall provide a suggested total daily feeding amount using:
- farming day;
- shrimp size;
- shrimp quantity;
- density;
- pond area;
- environmental data.
Current implementation status: Planned. The current backend suggestion endpoint exists as a contract stub and returns unavailable because AI feeding is scheduled for a later MVP/release step.
FR-FD-006 — Feed by Session
The system shall suggest:
- feeding amount by session;
- suitable feeding time/time window.
Detailed recommendation algorithm is TBD / Pending Domain Confirmation.
Current implementation status: Planned. No implemented per-session recommendation algorithm is present in the current codebase.
FR-FD-007 — Environmental Feeding Warning
At feeding time, the system shall warn users when:
- DO is low; or
- pH is abnormal.
DO and pH threshold values are TBD.
FR-FD-008 — PCR/FCR
The system shall calculate PCR/FCR according to an approved formula.
Until the formula is approved, this requirement remains:
Pending Business Formula Confirmation
Current implementation status: Planned. The current API returns unavailable until the approved PCR/FCR formula is supplied.
5.6 Productivity & Farming Logs
FR-LOG-001 — Manual Environmental Data
The system shall allow users to manually record environmental values by pond/date, including:
- morning pH;
- afternoon pH;
- alkalinity;
- other supported environmental indicators.
FR-LOG-002 — Mineral Records
The system shall support mineral records including:
- Bicar;
- Super M;
- K;
- CaCO3;
- CaO;
- Zeo;
- extensible mineral categories.
FR-LOG-003 — Siphon Records
The system shall support:
- morning siphon;
- afternoon siphon;
- total siphon;
- pond-bottom condition notes.
FR-LOG-004 — Farming Log
The system shall provide operational logs by:
- day;
- week;
- farming crop/cycle.
FR-LOG-005 — Same-Day Editing
The system shall allow records to be edited during the current day before end-of-day data is finalized.
End-of-day finalization behavior is TBD.
Current implementation status: Partial. Create/update/delete APIs exist for farming-log records. Explicit end-of-day locking/finalization is not implemented.
FR-LOG-006 — Productivity Summary
The system shall display:
- daily productivity summary per pond;
- total productivity for the farming crop/cycle.
The precise productivity formula is TBD.
5.7 Reports & Excel Export
FR-RP-001 — Water Monitoring Report
The system shall provide a report of the six monitored water indicators by:
- pond;
- selected time period.
FR-RP-002 — Device Report
The system shall report device activity including:
- ON/OFF history;
- running time;
- number of errors.
FR-RP-003 — Feeding Report
The system shall provide feeding reports by:
- feeding session;
- day;
- week;
- farming crop/cycle.
PCR/FCR shall be included when the required approved formula is available.
FR-RP-004 — Farming Operation Report
The system shall report:
- manually entered environmental data;
- minerals;
- siphon data.
FR-RP-005 — Incident / Ticket Report
The system shall provide ticket reports including:
- response time;
- processing/resolution time;
- assigned processor.
FR-RP-006 — Excel Export
The system shall support exporting applicable reports to Excel.
Detailed workbook layout, columns and maximum export size are TBD.
FR-RP-007 — Scheduled Weekly Reports
Admin and Farm Owner shall be able to schedule weekly reports to be sent by email.
Detailed report content, recipient rules, delivery schedule and timezone behavior are TBD.
Current implementation status: Planned. Current code supports manual/on-demand Excel export jobs and report history, but not scheduled weekly email reports.
5.8 Incident / Ticket Management
FR-TK-001 — Ticket Creation
Users shall be able to create equipment/failure tickets from:
- Website;
- Mobile App.
FR-TK-002 — Ticket Attachments
The system shall allow images and/or videos to be attached when creating a ticket.
Supported file types, size limits and retention are TBD.
FR-TK-003 — Ticket List
The system shall provide ticket filtering by:
- status;
- type;
- assignee;
- pond;
- time.
FR-TK-004 — KTV Assignment
Authorized administrative users shall be able to:
- assign KTV;
- reassign KTV;
to handle a ticket.
FR-TK-005 — Ticket Processing
The ticket workflow shall support:
- acceptance;
- progress updates;
- closure.
FR-TK-006 — SLA
The system shall track:
- response time;
- processing/resolution time.
SLA targets and timing rules are TBD.
FR-TK-007 — Technical Email Notification
The system shall send configured email notifications to:
- KTV/administrative technical team;
- technical superior/technical escalation recipients;
according to configured rules.
5.9 IoT Device Control
FR-IOT-001 — Device Management
Authorized users shall be able to:
- create;
- view;
- edit;
IoT devices.
FR-IOT-002 — Pond Assignment
The system shall allow sensors and IoT devices to be assigned to individual ponds.
FR-IOT-003 — Device List
The pond device list shall display:
- name;
- type;
- status;
- operating mode;
- connectivity state.
FR-IOT-004 — Control History
The system shall maintain device-control history including:
- device;
- command;
- requesting user;
- request time;
- execution status;
- execution time.
FR-IOT-005 — Automatic Rules
The system shall support automatic device rules based on:
- DO;
- temperature;
- time window;
- alert thresholds.
Exact condition precedence and conflict resolution are TBD.
FR-IOT-006 — Device Non-Response Alert
The system shall automatically create/send a device alert when a device does not respond to a command within a configured period.
Current implementation status: Partial. Pending device commands are marked as TIMEOUT after the configured timeout. Automatic alert creation/sending for that timeout is not yet complete.
FR-IOT-007 — Manual / Auto Mode
Authorized users shall be able to switch a device between:
- manual;
- auto;
according to permission.
FR-IOT-008 — Remote Control
Authorized users shall be able to turn supported devices ON/OFF from:
- Website;
- Mobile App.
Current implementation status: Partial. Backend command publishing, MQTT ACK handling and local IoT-output control exist. Web device management exists; mobile control exists through pond/device flows where wired, but final role/permission and UX coverage should be verified per supported device type.
5.10 Farming Handbook
FR-HB-001 — Article Library
The system shall provide a farming article library with topic areas including:
- farming processes;
- environment;
- feed;
- shrimp diseases/conditions;
- minerals;
- equipment incidents.
FR-HB-002 — Keyword Search
Users shall be able to search articles by keyword.
FR-HB-003 — Article Filters
Users shall be able to filter articles by:
- topic;
- farming stage;
- related indicator.
FR-HB-004 — Alert-Related Content
The system shall display articles relevant to an active alert when related content exists.
Alert-to-article mapping logic is TBD.
FR-HB-005 — Favorite Articles
Users shall be able to mark and unmark articles as favorites.
FR-HB-006 — Article Administration
Admin shall be able to:
- create;
- edit;
- archive;
articles.
FR-HB-007 — Version Management
Admin shall be able to manage article versions.
FR-HB-008 — Reference Integrity
The system shall not permanently delete an article that has already been referenced by AI Chatbot.
Such an article shall instead be moved to:
Archived
Current implementation status: Partial. Article archive/restore and versioning exist. AI Chatbot references are not yet implemented, so reference-integrity enforcement against chatbot usage remains planned.
5.11 AI Chatbot
Current implementation status: Planned. The mobile app currently exposes a placeholder AI Support tab/screen only. The current codebase does not include production chatbot backend APIs for conversation, pond-context assembly, image analysis, confidence, references, escalation, history, feedback or AI authorization enforcement. All requirements in this subsection remain planned unless otherwise noted.
FR-AI-001 — Chatbot Availability
The system shall provide the chatbot on:
- Website;
- Mobile App.
The roadmap specifies availability for all roles, subject to authorization.
Current implementation status: Planned. Mobile has a placeholder entry point; website chatbot UI is not implemented.
FR-AI-002 — Text Q&A
The chatbot shall allow text-based questions and answers.
FR-AI-003 — Pond Selection
Users shall be able to select the related pond before submitting a question.
Only authorized ponds shall be available for pond context.
FR-AI-004 — Image Input
The chatbot shall allow users to upload or capture images of:
- shrimp;
- water;
- feeding tray;
- pond bottom;
- equipment;
for preliminary analysis.
Detailed image-analysis scope is TBD.
FR-AI-005 — Automatic Pond Context
Where the user has permission, chatbot context shall automatically include available:
- pH;
- DO;
- temperature;
- salinity;
- farming day;
- shrimp size;
- latest feeding amount;
- open alerts.
FR-AI-006 — Confidence
The chatbot shall display a confidence level with its response.
Confidence representation and calculation method are TBD.
FR-AI-007 — References
The chatbot shall display reference sources with its response.
Approved source types are TBD.
FR-AI-008 — Escalation
The chatbot shall suggest:
- creating a ticket; or
- sending/escalating to KTV;
when:
- the issue is serious; or
- confidence is low.
Seriousness and low-confidence thresholds are TBD.
FR-AI-009 — Conversation History
The system shall store chatbot conversation history and allow users to review history within their authorization scope.
FR-AI-010 — Response Feedback
Users shall be able to mark a chatbot response as:
- Helpful;
- Not Helpful.
FR-AI-011 — AI Authorization
The chatbot shall not answer using information from a pond the user is not authorized to access.
Authorization must be applied before unauthorized pond context is made available to AI processing.
5.12 System Configuration
FR-SC-001 — Alert Thresholds
Admin shall be able to configure supported alert thresholds by:
- indicator;
- pond;
- shrimp type;
- farming stage.
Configuration precedence is TBD.
Current implementation status: Partial. Global and pond-specific parameter-threshold APIs exist. Shrimp-type and farming-stage precedence remains TBD/planned.
FR-SC-002 — Device Automation
Admin shall be able to configure automatic device ON/OFF rules.
Current implementation status: Implemented for current backend rule model. Rules support device/local-output targets, threshold/time conditions, priority and cooldown. Final conflict-resolution rules remain TBD.
FR-SC-003 — Master Data
Admin shall be able to manage supported categories for:
- feed types;
- minerals;
- devices;
- ticket types;
- alert types.
Current implementation status: Partial. Feed types and crop catalog items exist, while full mineral/device/ticket/alert master-data management is not complete as a unified configuration surface.
FR-SC-004 — Email Configuration
Admin shall be able to configure:
- email templates;
- recipients by event type.
Current implementation status: Partial. Notification configuration and environment-based email recipient settings exist. Full email-template management is planned.
FR-SC-005 — SLA Configuration
Admin shall be able to configure SLA for:
- tickets;
- alerts.
Current implementation status: Partial. Incident-response settings exist for ticket handling. Alert SLA configuration and final SLA timing rules remain TBD.
FR-SC-006 — SaaS Plan
If the product is deployed using SaaS plans, Admin shall be able to configure:
- service plans;
- account limits.
Status: Conditional requirement.
Current implementation status: Planned / conditional. No SaaS plan or account-limit configuration module is present in the current codebase.
FR-SC-007 — AI Configuration
Admin shall be able to configure supported:
- chatbot knowledge;
- chatbot data sources;
- chatbot safety policies.
Current implementation status: Planned. No chatbot knowledge/data-source/safety-policy configuration module is present in the current codebase.
6. Non-Functional Requirements
6.1 Security & Authorization
| Requirement | Status |
|---|---|
| Role-based access to operational scope | Partial |
| Farm/Pond/Ticket scope restriction | Partial |
| Special permission required for editing closed crop data | Partial |
| Session timeout | Implemented |
| Audit log for user/permission changes | Implemented |
| Chatbot pond authorization | Planned |
| Authentication encryption standard | TBD |
| Password policy | TBD |
| Audit-log retention | TBD |
Current code carries authenticated user role/farm/pond scope through protected APIs and applies it in multiple query paths. However, selected permission checks are temporarily bypassed in code, so authorization must be hardened before the security requirements are considered complete.
6.2 Data Integrity
The system shall preserve historical traceability for operational records where required.
Confirmed examples include:
- feeding history;
- farming logs;
- device control history;
- ticket history;
- user/permission audit logs;
- archived handbook articles and handbook versions.
Planned examples include:
- chatbot conversation history;
- chatbot references to handbook articles.
Detailed retention periods are TBD.
6.3 Reliability
The system shall provide failure visibility for sensor/device operations, including:
- sensor/device offline or error alerts;
- device-command non-response tracking.
Sensor/device offline alerts and device command timeout marking are implemented. Automatic alert creation/sending for command non-response is still partial.
The following targets are not specified in the roadmap:
| Requirement | Target |
|---|---|
| Platform uptime | TBD |
| API availability | TBD |
| AI service availability | TBD |
| Email delivery retry | TBD |
| Device command retry | TBD |
| Backup / recovery | TBD |
6.4 Performance
The source does not provide measurable performance requirements.
| Requirement | Target |
|---|---|
| Standard API response time | TBD |
| Dashboard load time | TBD |
| Historical chart load time | TBD |
| Report generation time | TBD |
| Excel export time | TBD |
| AI response time | TBD |
| Image analysis time | TBD |
| Maximum concurrent users | TBD |
Numeric targets must be approved before being treated as release criteria.
6.5 Data Freshness
Water monitoring and AI capabilities depend on timely environmental information.
Data-freshness rules are not yet defined for:
- pH;
- DO;
- temperature;
- salinity;
- sensor state;
- feeding data;
- active alerts.
Status: TBD
6.6 Auditability
Critical actions requiring traceability include at minimum:
- user-management changes;
- permission changes;
- device-control commands;
- ticket processing;
- historical operational records.
Current implementation includes audit/activity coverage for several operational events, including user/permission changes and AI prediction logs. Further audit requirements are TBD.
7. Success Metrics
The roadmap does not define approved numeric product KPIs.
The following metrics are recommended for measurement; target values remain TBD.
7.1 Operational Metrics
| Metric | Target |
|---|---|
| Active farms/ponds using platform | TBD |
| Environmental records captured | TBD |
| Alert acknowledgement time | TBD |
| Ticket response time | Configured SLA |
| Ticket resolution time | Configured SLA |
| Device command success rate | TBD |
| Report generation success rate | TBD |
| Weekly report delivery rate | TBD |
7.2 AI & Knowledge Metrics
| Metric | Target |
|---|---|
| Feeding suggestion usage rate | TBD |
| Difference between suggested and actual feeding | Measure |
| Chatbot active users | TBD |
| Helpful response rate | TBD |
| Low-confidence response rate | TBD |
| AI escalation rate | TBD |
| Handbook search success rate | TBD |
| Alert-related article usage | TBD |
7.3 Critical Quality Indicators
The following outcomes should be treated as critical quality expectations:
| Indicator | Expected Behavior |
|---|---|
| Unauthorized pond data exposed | 0 expected |
| Device command attributed to wrong user | 0 expected |
| Referenced Handbook content permanently lost | 0 expected |
| Closed crop modified without required permission | 0 expected |
8. Yêu cầu AI riêng / AI-Specific Requirements
Các tính năng AI cần được triển khai theo giai đoạn và phải có cơ chế kiểm soát an toàn, nguồn tham chiếu, logging và fallback sang kỹ thuật viên khi cần.
Trong MVP sớm, hệ thống có thể bắt đầu bằng rule-based recommendation trước khi nâng cấp lên AI-based recommendation. Rule-based outputs must be clearly labeled as rule-based recommendations and must not be presented as autonomous AI decisions.
Current implementation status: Planned / Partial. The current codebase contains placeholder or stubbed AI-related surfaces only: mobile AI support placeholder, unavailable AI feeding suggestion endpoint contract, and planned chatbot/reference behavior. No production AI inference, image analysis, prediction engine, growth analysis, energy optimization or complete AI safety workflow is implemented yet.
8.1 AI Capability Roadmap
| Mã | Nhóm AI | Mô tả yêu cầu | Giai đoạn đề xuất | Current Implementation Status |
|---|---|---|---|---|
| AI-01 | AI Chatbot văn bản | Hỏi đáp về vận hành hồ, chỉ số môi trường, thức ăn, cảnh báo, thiết bị và quy trình xử lý dựa trên sổ tay/dữ liệu hồ. | MVP 3 | Planned |
| AI-02 | AI phân tích hình ảnh | Cho phép gửi ảnh tôm, nước, sàng ăn, đáy hồ hoặc thiết bị để nhận đánh giá sơ bộ và gợi ý bước kiểm tra tiếp. | MVP 4 | Planned |
| AI-03 | AI gợi ý thức ăn | Đề xuất lượng thức ăn theo ngày/cữ và khung giờ tối ưu dựa trên dữ liệu hồ, tôm, môi trường và lịch sử. | MVP 4 | Planned |
| AI-04 | AI đánh giá tăng trưởng/năng suất | Phân tích lịch sử nuôi, thức ăn, môi trường và năng suất để đánh giá tôm phát triển tốt hay không. | MVP 4 | Planned |
| AI-05 | AI cảnh báo và khuyến nghị xử lý | Phát hiện bất thường và đề xuất xử lý theo từng hồ/tình huống; có thể bắt đầu bằng rule-based. | MVP 2–4 | Partial / Planned |
| AI-06 | AI tối ưu năng lượng | Phân tích thời gian chạy thiết bị và điều kiện môi trường để đề xuất lịch bật/tắt nhằm tiết kiệm điện. | MVP 3–4 | Planned |
| AI-07 | AI dự đoán | Dự đoán xu hướng chất lượng nước, rủi ro vận hành/dịch bệnh, nhu cầu thức ăn, tăng trưởng, năng suất, thời điểm thu hoạch và nguy cơ sự cố thiết bị. | MVP 3–4 | Planned |
8.2 AI Safety And Control Requirements
| Requirement | Description | Status |
|---|---|---|
| Authorized context only | AI must receive only farm/pond/crop/device data that the user is authorized to access. | Planned |
| Source references | AI answers and recommendations must cite the source data or knowledge used where applicable, such as handbook articles, pond telemetry, feeding history or alert records. | Planned |
| Confidence and uncertainty | AI outputs must expose confidence or uncertainty cues and avoid overconfident wording when evidence is weak. | Planned |
| Human escalation | Serious, low-confidence or safety-sensitive cases must provide fallback/escalation to KTV or ticket workflow. | Planned |
| Logging | AI prompts, input context metadata, recommendation outputs, source references, feedback and escalation events must be logged according to privacy/audit rules. | Planned |
| Rule-based fallback | MVP recommendations may use deterministic rules before AI models are introduced; fallback rules must be configurable and auditable. | Planned |
| No automatic dangerous action | AI must not directly execute device-control actions or critical operational changes without user confirmation and authorization. | Planned |
8.3 AI Input And Output Boundaries
AI features may use:
- authorized farm, pond and crop context;
- recent and historical environmental readings;
- feeding history and feed response;
- alert and ticket history;
- device status and control history;
- Farming Handbook content and approved operational procedures;
- uploaded images when image analysis is explicitly supported.
AI features must not use:
- data from farms or ponds outside the user's access scope;
- unapproved knowledge sources for technical recommendations;
- hidden prompts or model outputs as the only audit evidence;
- raw secrets, credentials, tokens or private configuration.
8.4 AI Acceptance Criteria
Before any AI feature is marked implemented, the release must include:
- defined input data contract;
- authorization check before context construction;
- output format and disclaimer behavior;
- source-reference behavior where applicable;
- logging/audit behavior;
- fallback/escalation behavior;
- test cases for low-confidence, missing-data and unauthorized-context scenarios.
8.5 AI Prediction Requirements / Yêu cầu dự đoán AI
AI prediction features must be treated as decision-support outputs, not guaranteed outcomes. Every prediction must include prediction horizon, confidence/uncertainty, source data window, last data timestamp and recommended next action.
Current implementation status: Planned. The current codebase does not include production AI prediction models, prediction APIs, prediction dashboards, model evaluation workflow or historical backtesting.
| Mã | Nhóm dự đoán | Mô tả yêu cầu | Đầu ra mong muốn | Giai đoạn đề xuất | Current Implementation Status |
|---|---|---|---|---|---|
| AIP-01 | Dự đoán chất lượng nước | Dự đoán xu hướng pH, DO, nhiệt độ, độ mặn, ORP hoặc chỉ số môi trường theo từng hồ dựa trên dữ liệu cảm biến và log thủ công. | Trend, risk level, prediction horizon, recommended check/action. | MVP 3 | Planned |
| AIP-02 | Dự đoán rủi ro cảnh báo | Dự đoán khả năng phát sinh cảnh báo môi trường hoặc cảnh báo thiết bị trước khi vượt ngưỡng. | Probability/risk band, likely cause, preventive recommendation. | MVP 3 | Planned |
| AIP-03 | Dự đoán rủi ro sức khỏe tôm | Dự đoán rủi ro bất thường về sức khỏe/tăng trưởng dựa trên môi trường, thức ăn, phản ứng ăn, hình ảnh và lịch sử vận hành. | Risk band, missing data note, suggested inspection by technician. | MVP 4 | Planned |
| AIP-04 | Dự đoán nhu cầu thức ăn | Dự đoán nhu cầu thức ăn trong ngày/cữ tiếp theo dựa trên giai đoạn nuôi, trọng lượng, môi trường, lịch sử cho ăn và phản ứng ăn. | Suggested feed range, confidence, reason, fallback rule if model unavailable. | MVP 4 | Planned |
| AIP-05 | Dự đoán tăng trưởng/năng suất | Dự đoán tăng trưởng, năng suất kỳ vọng và khả năng lệch so với mục tiêu vụ nuôi. | Growth forecast, productivity risk, contributing factors. | MVP 4 | Planned |
| AIP-06 | Dự đoán thời điểm thu hoạch | Gợi ý khung thời gian thu hoạch tiềm năng dựa trên tăng trưởng, sức khỏe, năng suất kỳ vọng và điều kiện môi trường. | Harvest window, confidence, required validation data. | MVP 4 | Planned |
| AIP-07 | Dự đoán sự cố thiết bị/năng lượng | Dự đoán nguy cơ thiết bị hoạt động bất thường hoặc tiêu thụ điện cao dựa trên lịch sử chạy, trạng thái thiết bị và điều kiện hồ. | Failure/energy risk, inspection recommendation, schedule suggestion. | MVP 3–4 | Planned |
Prediction Control Requirements
| Requirement | Description | Status |
|---|---|---|
| Prediction horizon | Each prediction must state the time horizon, such as next 6 hours, 24 hours, 3 days or crop-level forecast. | Planned |
| Data freshness | Predictions must show the timestamp of the latest input data and warn when input data is stale or incomplete. | Planned |
| Confidence band | Predictions must expose confidence/uncertainty and avoid exact claims when the model is not validated. | Planned |
| Explainability | Predictions must include key contributing factors, for example DO trend, feeding response, sensor gap or device runtime. | Planned |
| Backtesting | Prediction models/rules must be evaluated against historical data before being marked production-ready. | Planned |
| Human review | High-risk predictions must route users toward KTV/ticket workflow instead of self-treatment or automatic action. | Planned |
| Fallback | If the model is unavailable or inputs are insufficient, the system must fallback to rule-based recommendation or no-prediction state. | Planned |
9. Risks and Dependencies
9.1 Product / Business Risks
| Risk | Impact | Required Action |
|---|---|---|
| PCR/FCR formula not approved | High | Domain/Product must approve formulas and test cases |
| Feeding recommendation logic incomplete | High | Confirm algorithm and required inputs |
| DO/pH thresholds undefined | High | Confirm domain thresholds |
| Productivity formula undefined | Medium | Confirm calculation definition |
| SLA timing rules undefined | Medium | Define SLA lifecycle |
| Report structure incomplete | Medium | Confirm detailed report/export layouts |
| Chatbot confidence model undefined | High | Product/AI must define representation and trigger thresholds |
| Device automation conflicts | High | Define rule precedence and safety behavior |
| Sprint 6 absent from roadmap | Planning | Confirm whether Sprint 6 intentionally does not exist or is missing from roadmap |
9.2 Technical Risks
| Risk | Impact | Required Action |
|---|---|---|
| Missing/stale sensor data | High | Define freshness and fallback behavior |
| Device loses connectivity | High | Maintain status and alert workflows |
| Device does not execute command | High | Detect non-response and alert |
| AI receives unauthorized pond context | Critical | Enforce authorization before AI-context construction |
| AI answer has weak evidence | High | Confidence/reference/escalation controls |
| Article used by AI becomes unavailable | Medium | Archive instead of hard delete |
| Large historical datasets affect dashboards/reports | Medium | Define performance and retention requirements |
9.3 Dependencies
| Dependency | Type | Required By |
|---|---|---|
| Authentication / User Management | Internal | All protected modules |
| Role & Scope Authorization | Internal | Farm/Pond/Ticket/AI |
| Farm / Pond / Crop Data | Internal | Monitoring, Feeding, Reports, AI |
| Environmental Data | Internal / Integration | Monitoring, Alerts, AI Feeding, AI Chatbot |
| Feeding Data | Internal | Reports, AI Feeding, AI Chatbot |
| Alert System | Internal | Dashboard, Handbook, Chatbot |
| Ticket System | Internal | Technical support, Chatbot escalation |
| IoT Integration | Integration | Device Control |
| Sensor Integration | Integration | Monitoring |
| Email Service | External/Internal | Ticket notifications, weekly reports |
| Farming Handbook | Internal | Knowledge access, AI references |
| AI/LLM Service | External/Internal | AI Chatbot |
| Image Analysis Capability | AI | Chatbot image analysis |
| Growth/Productivity AI | AI | AI growth and productivity assessment |
| Energy Optimization Rules/AI | AI / Rules | AI energy optimization |
Appendix A — Product Roadmap
| Milestone | Scope | Timeline |
|---|---|---|
| Sprint 1 | Authentication & User Management; Farm/Pond/Crop Management | 02/06/2026 – 08/06/2026 |
| Sprint 2 | Water Monitoring Dashboard; Alert Management; Feeding Management | 09/06/2026 – 15/06/2026 |
| Sprint 3 | Productivity & Farming Logs | 16/06/2026 – 22/06/2026 |
| Sprint 4 | Reports & Excel Export; Incident/Ticket Management | 23/06/2026 – 29/06/2026 |
| Release 1 | Core Platform | Date not specified in source |
| Sprint 5 | IoT Device Control; Sensor Status/History | 12/08/2026 – 17/08/2026 |
| Testing | Release 2 testing | 18/08/2026 – 20/08/2026 |
| Release 2 | IoT Integrated Platform | 21/08/2026 |
| Sprint 6 | No entry exists in current source roadmap | TBD / Confirm |
| Demo Feedback | Implement Demo Feedback | 07/09/2026 – 18/09/2026 |
| Sprint 7 | AI Feeding Suggestion | 21/09/2026 – 25/09/2026 |
| Sprint 7 continuation | Farming Handbook | 28/09/2026 – 02/10/2026 |
| Sprint 8 | AI Chatbot | 05/10/2026 – 09/10/2026 |
| Sprint 8 continuation | System Configuration; Scheduled Reports | 12/10/2026 – 16/10/2026 |
| Release 3 | AI Enabled Platform | 16/10/2026 |
| UAT & Feedback | UAT and user feedback | 19/10/2026 – 23/10/2026 |
Appendix B — Open Questions
| ID | Question | Owner | Priority |
|---|---|---|---|
| Q01 | Is Sprint 6 intentionally omitted from the roadmap? | Product | High |
| Q02 | What is the exact Release 1 date? | Product | Medium |
| Q03 | What password and reset-token policies apply? | Product/Tech | Medium |
| Q04 | What is the session timeout duration? | Product/Security | Medium |
| Q05 | What fields and retention period are required for audit logs? | Product/Tech | Medium |
| Q06 | Are algae and ORP separate monitored indicators or one roadmap item? | Domain/Product | High |
| Q07 | What are the approved thresholds for each water indicator? | Domain | High |
| Q08 | What determines alert severity? | Product/Domain | High |
| Q09 | What transitions and roles apply to the alert lifecycle? | Product | Medium |
| Q10 | When is a reason mandatory for actual feed differing from suggestion? | Product | Low |
| Q11 | What is the approved PCR formula? | Domain | Blocker |
| Q12 | What is the approved FCR formula? | Domain | Blocker |
| Q13 | What is the AI feeding algorithm? | Product/Domain/AI | Blocker |
| Q14 | Which AI feeding inputs are mandatory? | Product/Domain | Blocker |
| Q15 | What constitutes low DO? | Domain | Blocker |
| Q16 | What constitutes abnormal pH? | Domain | Blocker |
| Q17 | What is the productivity calculation? | Domain/Product | High |
| Q18 | What is the end-of-day log finalization workflow? | Product | Medium |
| Q19 | What Excel columns/workbooks are required for each report? | Product | Medium |
| Q20 | What is the weekly report content and schedule behavior? | Product | Medium |
| Q21 | What ticket SLA targets and timing rules apply? | Product | High |
| Q22 | What attachment limits apply to ticket photos/videos? | Product/Tech | Medium |
| Q23 | How are conflicting IoT automation rules resolved? | Product/Tech | Blocker |
| Q24 | What device automation fail-safe behavior is required? | Product/Tech | Blocker |
| Q25 | What sensor-data age is considered stale? | Product/Tech | High |
| Q26 | How are alerts linked to Farming Handbook articles? | Product | Medium |
| Q27 | What is the approved AI confidence representation? | Product/AI | High |
| Q28 | How is AI confidence calculated? | AI | High |
| Q29 | Which knowledge sources may the chatbot reference? | Product/AI | High |
| Q30 | What constitutes a serious issue requiring AI escalation? | Product/Domain | High |
| Q31 | What confidence threshold triggers escalation? | Product/AI | High |
| Q32 | Does ticket creation from chatbot require user confirmation? | Product | Medium |
| Q33 | What image-analysis use cases are officially supported? | Product/AI | High |
| Q34 | How long is chatbot history retained? | Product/Tech | Medium |
| Q35 | What is the configuration precedence between global, pond, shrimp type and farming-stage thresholds? | Product | High |
| Q36 | Is SaaS Plan Configuration mandatory for Release 3? | Product | Medium |
| Q37 | What production performance/availability targets apply? | Product/Tech | High |
| Q38 | Which AI capabilities are included in each MVP milestone? | Product/AI | High |
| Q39 | What rule-based recommendation rules are approved for MVP 2–3? | Product/Domain/AI | High |
| Q40 | What uploaded image types, limits and quality rules apply to AI image analysis? | Product/AI/Tech | High |
| Q41 | What data fields are mandatory for AI growth/productivity assessment? | Product/Domain/AI | High |
| Q42 | What device and electricity-cost data are required for AI energy optimization? | Product/Domain/AI | Medium |
| Q43 | What AI logging fields are required, and how long are AI logs retained? | Product/Security | High |
| Q44 | Which prediction horizons are required for water-quality, alert, feeding and harvest forecasts? | Product/Domain/AI | High |
| Q45 | What minimum historical data volume is required before an AI prediction can be shown to users? | Product/AI/Tech | High |
| Q46 | What confidence threshold separates prediction, warning, no-prediction and KTV escalation states? | Product/AI | High |
| Q47 | Which prediction outputs require historical backtesting before release? | Product/AI/QA | High |
| Q48 | How should users provide feedback on inaccurate AI predictions? | Product/AI | Medium |
Appendix C — Glossary
| Term | Definition |
|---|---|
| Farm | A farming site containing one or more ponds |
| Pond | An individual shrimp farming pond |
| Crop / Farming Cycle | A farming cycle associated with a pond |
| KTV | Technical staff responsible for operational/technical support |
| DO | Dissolved Oxygen |
| ORP | Oxidation-Reduction Potential |
| PCR | Business farming metric requiring approved formula |
| FCR | Feed Conversion Ratio; implementation formula requires domain confirmation |
| Sensor | Device collecting environmental measurements |
| IoT Device | Connected controllable farming equipment |
| Alert | System-generated warning related to environmental or equipment conditions |
| Ticket | Technical incident/support request |
| SLA | Service Level Agreement for response and processing time |
| Farming Handbook | Version-controlled farming knowledge library |
| Pond Context | Authorized pond/environment/feeding/alert information supplied to AI |
| Confidence | Chatbot indication of certainty; exact model remains TBD |
| Prediction Horizon | Future time window covered by an AI prediction, such as 24 hours or crop-level |
| Backtesting | Evaluation of prediction logic against historical data before production release |
| TBD | To Be Determined |
| Blocker | Information required before a requirement can be implemented or accepted correctly |
Appendix D — Requirement Traceability
| Module | Requirement IDs | Roadmap Stage | Current Implementation Status | Alignment Notes |
|---|---|---|---|---|
| Authentication & User Management | FR-AU-001 → FR-AU-008 | Sprint 1 | Partial | Core auth, sessions, user management, KTV and audit APIs exist. Some authorization checks remain temporarily bypassed. |
| Farm / Pond / Crop Management | FR-FP-001 → FR-FP-006 | Sprint 1 | Partial | CRUD, dashboards, pond assignment and crop close/override exist. Final close/delete wording and permission enforcement need hardening. |
| Water Monitoring Dashboard | FR-WM-001 → FR-WM-005 | Sprint 2 | Partial | Backend pond/farm dashboard and time-series data exist. Standalone web Water Monitoring page is a placeholder. |
| Alert Management | FR-AL-001 → FR-AL-004 | Sprint 2 | Partial | Backend alerts, filters, lifecycle actions and scheduled offline/escalation checks exist. Standalone web Alerts page and final transition rules remain incomplete. |
| Feeding Management — Operational | FR-FD-001 → FR-FD-004 | Sprint 2 | Implemented / Partial | Feeding records, feed types, response, history and override reason fields exist. Final UI coverage and business rule for mandatory reason remain TBD. |
| Productivity & Farming Logs | FR-LOG-001 → FR-LOG-006 | Sprint 3 | Partial | Backend and mobile support manual water, minerals, siphon, productivity and attachments. Standalone web page and end-of-day finalization are incomplete. |
| Reports & Excel Export | FR-RP-001 → FR-RP-006 | Sprint 4 | Partial | Report APIs, web report pages and Excel export jobs exist. Final workbook layout/export limits remain TBD. |
| Incident / Ticket Management | FR-TK-001 → FR-TK-007 | Sprint 4 | Implemented / Partial | Ticket workflow, attachments, comments, mobile creation and email notifications exist. Final SLA timing rules remain TBD/configuration-dependent. |
| IoT Device Control | FR-IOT-001 → FR-IOT-008 | Sprint 5 | Partial | Device CRUD, assignment, command history, MQTT command/ACK, auto rules, manual/auto mode and timeout marking exist. Timeout-to-alert behavior is incomplete. |
| Sensor Status & History | FR-WM-006 → FR-WM-007 | Sprint 5 | Implemented / Partial | Sensor CRUD, readings, chart/history and offline detection exist. Freshness rules and standalone UI coverage remain TBD. |
| AI Feeding Suggestion | FR-FD-005 → FR-FD-008 | Sprint 7 | Planned | Current endpoints are stubs/unavailable until recommendation and PCR/FCR formulas are approved and implemented. |
| Farming Handbook | FR-HB-001 → FR-HB-008 | Sprint 7 continuation | Partial | Backend library, search/filter, bookmarks, by-alert lookup, admin workflow, archive/restore and versioning exist. Dedicated UI and chatbot-reference integrity remain incomplete. |
| AI Chatbot | FR-AI-001 → FR-AI-011 | Sprint 8 | Planned | Mobile placeholder only; no production backend chatbot APIs or web chatbot UI exist. |
| AI-Specific Requirements | AI-01 → AI-07 | MVP 2–4 | Planned / Partial | AI roadmap, safety controls, source references, logging, KTV fallback and prediction groups are specified. Current implementation is placeholder/stub level only. |
| AI Prediction Requirements | AIP-01 → AIP-07 | MVP 3–4 | Planned | Water-quality, alert-risk, health, feeding, growth/productivity, harvest and equipment/energy prediction requirements are specified. No production prediction engine exists yet. |
| System Configuration | FR-SC-001 → FR-SC-007 | Sprint 8 continuation | Partial | Thresholds, automation rules, notification config and incident-response settings exist. Master data, SaaS plan and AI config remain planned/incomplete. |
| Scheduled Weekly Report | FR-RP-007 | Sprint 8 continuation | Planned | Manual export exists; scheduled weekly email delivery is not implemented. |
Appendix E — Document History
| Version | Date | Author | Changes |
|---|---|---|---|
| 1.0 | 2026-09-16 | Product Team | Initial complete PRD covering product roadmap from Sprint 1 through Release 3 |
| 1.1 | 2026-09-16 | Product Team | Aligned PRD with current codebase; marked implemented, partial and planned scope |
| 1.2 | 2026-09-16 | Product Team | Added Section 8 AI-specific requirements, AI capability roadmap, safety controls, logging, references and fallback requirements |
| 1.3 | 2026-09-16 | Product Team | Added AI prediction requirements, prediction control requirements, open questions, glossary and traceability |
End of Product Requirements Document